# Save code in a file "demo.r" and run with 2 processors by
# > mpiexec -np 2 Rscript demo.r
### Initial
library(pbdMPI, quiet = TRUE)
init()
.comm.size <- comm.size()
.comm.rank <- comm.rank()
### Example for pbdApply
N <- 100
x <- matrix((1:N) + N * .comm.rank, ncol = 10)
y <- pbdApply(x, 1, sum)
comm.print(y)
y <- pbdApply(x, 1, sum, pbd.mode = "mw")
comm.print(y)
### Example for pbdLapply
N <- 100
x <- split((1:N) + N * .comm.rank, rep(1:10, each = 10))
y <- pbdLapply(x, sum)
comm.print(unlist(y))
y <- pbdLapply(x, sum, pbd.mode = "mw")
comm.print(unlist(y))
### Finish
finalize()
Run the code above in your browser using DataLab